package com.fml.leecode.eaysy;

import java.util.HashMap;
import java.util.Map;

/*编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀，返回空字符串 ""。



示例 1：

输入：strs = ["flower","flow","flight"]
输出："fl"
示例 2：

输入：strs = ["dog","racecar","car"]
输出：""
解释：输入不存在公共前缀。


提示：

1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
*/
public class Demo14 {

    public static void main(String[] args) {
//        String[] strs = new String[]{"", "abc"};String s = longestCommonPrefix(strs);
//        System.out.println(s);

        Map<String, Object> map = new HashMap();
        map.put("123", 2);
        String key = "abc";
        sout(key);
        Object o = map.get("1");
        if (null == o) {
            System.out.println("null 001");
        }
        System.out.println(o);


    }

    private static void sout(Object key) {
        if (key instanceof Character) {
            System.out.println("char");
        } else {
            System.out.println("not char");
        }
    }

    public static String longestCommonPrefix(String[] strs) {


        if (strs == null || strs.length == 0) {
            return "";
        }

        String strPre = strs[0];
        int count = strs.length;
        for (int i = 1; i < count; i++) {
            //找出公共前缀
            strPre = commonPreFix(strPre, strs[i]);
            if ("".equals(strPre)) {
                break;
            }

        }
        return strPre;
    }


    public  static String commonPreFix(String strPre, String str) {
        int length = Math.min(strPre.length(), str.length());
        int index = 0;
        while (index < length && strPre.charAt(index) == str.charAt(index)) {
            index++;
        }
        return strPre.substring(0, index);
    }

}
